package com.zjj.learn.designmodel.work.command;

/**
 * 具体命令
 * 需要实现抽象命令才能执行命令方法
 * 需要聚合接受者，命令才有作用对象，这里是为了打开或者关闭电视机。
 **/
public class TurnOnTVCommand implements Command{

    /**
     * 聚合接受者作为成员变量，才会知道命令作用在什么物体上
     **/
    private TV tv;

    public TurnOnTVCommand(TV tv) {
        this.tv = tv;
    }

    /**
     * 执行命令
     **/
    @Override
    public void execute() {
        //打开电视机
        this.tv.turnOn();
    }
}
